import Mock from 'mockjs'

const Random = Mock.Random;

// mock需要给三个参数,url(与axios请求是传的url一致)
// 请求类型: get post...其他看文档
// 数据处理函数,函数需要return数据
Mock.mock('/test/city', 'get', () => {
    let citys = [];
    for (let i = 0; i < 10; i++) {
        let obj = {
            id: i + 1,
            city: Random.city(),
            color: Random.color()
        };
        citys.push(obj)
    }
    return { cityList: citys }
});

// post请求,带参数,参数会在data中返回,会返回url,type,body三个参数,可以把data打印出来看看
Mock.mock('/test/cityInfo', 'post', (data) => {
    // 请求传过来的参数在body中,传回的是json字符串,需要转义一下
    const info = JSON.parse(data.body);
    return {
        img: Random.image('200x100', '#4A7BF7', info.name)
    }
});

// 商品列表mock接口
Mock.mock('/goodList', 'get', {
  'goodList|12': [
    {
      'id|': '@id()`',                    // id
      'index|1-32': 1,                    // 图片序号，用作拼接图片名用
      'title|6-32': '@cword()',           // 商品名称
      'price|1-499': 1,                   // 商品售卖价格
      'originalPrice|500-1999.2': 500,    // 商品原价
      'discount|1-9.1': 1,                // 商品折扣
      'want|1-999': 1                     // 商品想买人数
    }
  ]
});

// 购物车列表mock接口：未完成
Mock.mock('/shopList', 'get', {
    'shopList|8': [{
        'imgUrl|1-3': 1,  // 图片序号，用作拼接图片名用
        'parameter|':'@csentence(3, 5)', //产品参数
        'title|1-20': '@cword()', // 商品名称
        'price|500-1999.2': 500, // 产品价格，得是字符串，后移2个小数点
        "num|1": 1, //产品数量
        'id|': '@id()`', // id
        checked: true  // 复选框状态
    }]
});

//随机返回一个昵称
Mock.mock("/getNickName", "get", {
    "nickName|1": /^[\u4e00-\u9fa5]{4} | \w{6} | [\u4e00-\u9fa5]\w{3} $/,
    "id": /\d{11}/
})

// ===== 商品详情接口 start =====
// 获取商品名称 + 价格
Mock.mock('/getGoodDesc', 'get', {
    'title|10-46': '@cword()',              // 商品名称
    'nowPrice|1-499.2': 1,                  // 商品售卖价格
    'originPrice|500-1999.2': 500,          // 商品原价
});
// ===== 商品详情接口 end =====

// ===== 优惠券接口 start =====
// 获取优惠券列表
Mock.mock('/getCouponList', 'get',  () => {
    let couponListData = [];
    for(let i = 0; i < 3; i++) {
        let couponList = [];
        let count = Random.integer(1, 12);
        for(let y = 0; y < count; y++) {
            couponList.push({
                'title': '商城商品',                             // 优惠券名称
                'couponPrice': Random.integer(1, 50),           // 优惠券价格
                'conditionPrice': Random.integer(100, 300),     // 优惠券使用条件,
                'exipreDate': Random.date(),                    // 优惠券截止日期
            });
        }
        couponListData.push(couponList);
    }
    return {couponListData};
});
// ===== 优惠券接口 end =====
